Position sensorless drive system and method for permanent magnet motors

ABSTRACT

A position sensorless drive systems for a permanent magnet motors are disclosed. An embodiment includes a square wave voltage source connectable to an input of a permanent magnet motor. At least one current sensor is connectable to the motor, wherein the current sensor is configured to sense the current in at least one power line to the motor in response to the square wave input to the motor. The position of the rotor relative to the stator may be determined based on the current resulting from the square wave voltage.

This patent application claims priority to United States provisionalpatent application 61/819,267 filed on May 3, 2013 for INITIAL POSITIONAND VELOCITY ESTIMATION ALGORITHM FOR SALIENT PERMANENT MAGNET MOTORSwhich is incorporated for all that is disclosed therein.

BACKGROUND

A permanent magnet motor represents a type of motor where a fixed statorcauses rotation of a movable rotor. The rotor typically includesmultiple magnets embedded in or connected to the rotor, and the statortypically includes multiple conductive windings. Electrical signals inthe windings generate a rotating magnetic field that interacts with themagnets of the rotor, causing the rotor to rotate. Because the statorhas multiple windings, the input to the stator, which is the input tothe motor, is inductive.

“Sensorless” motor control refers to an approach where one or morecharacteristics of a motor, such as motor speed or rotor position, aremathematically derived. Sensorless motor control typically avoids theuse of separate speed and position sensors that are mechanicallyattached to a motor, which might detrimentally affect the performance ofthe motor.

SUMMARY

Position sensorless drive systems for permanent magnet motors aredisclosed. An embodiment includes a square wave voltage source that isconnectable to an input of a permanent magnet motor. At least onecurrent sensor is connectable to the motor, wherein the current sensormeasures the current in response to the square wave input to the motor.The position of the rotor relative to the stator is determined based onthe current resulting from the square wave voltage.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a cross-sectional view of a permanent magnet motor thatillustrates the magnetic flux property when an injected voltage isinjected in the direction of the north pole and augments the magneticflux.

FIG. 2 is a block diagram of an embodiment of a sensorless drive systemfor permanent magnet motors.

FIG. 3 is a cross-sectional view of the motor of FIG. 1 with the rotorin the opposite direction and the resulting magnetic flux property whenthe injected voltage is injected in the direction of the south pole anddecreases the magnetic flux.

FIG. 4 is a diagram showing an embodiment of a square wave voltageinjected into the motor of FIGS. 1 and 3 in relation to a pulse widthmodulated signal used to drive the motor.

FIG. 5 is a set of graphs showing current into and out of the motor whenthe injected voltage is injected in the direction of the north pole andaugments the magnetic flux.

FIG. 6 is a set of graphs showing current into and out of the motor whenthe injected voltage is injected in the direction of the south pole anddecreases the magnetic flux.

FIG. 7 is a block diagram of an embodiment of a motor controller.

FIG. 8 is a graph showing the relationship between the estimated andreal dq planes in the motor of FIG. 1.

FIG. 9 shows an embodiment of average inductance, n, and differentialinductance, ΔL, in the d axis of the motor of FIG. 1.

FIG. 10 is block diagram of an embodiment of the speed and positionobserver of

FIG. 7.

FIG. 11 is a block diagram of an embodiment of the dq/abc device of FIG.7.

FIG. 12 is a block diagram of another embodiment of the dq/abc device ofFIG. 7.

FIG. 13 is a block diagram describing an embodiment for determining theposition of the rotor in the motor of FIGS. 1 and 3.

DETAILED DESCRIPTION

Sensorless drive systems and methods of driving salient motors orpermanent magnet motors that overcome the above-described problems aredescribed herein. The systems and methods that are used vary slightlydepending on the speed of the motor. When the motor is stationary, ormore specifically, when the rotor is stationary relative to the stator,the position of the rotor is determined by injecting a square wavevoltage into the motor and measuring the location and direction ofmagnetic flux. When the motor is operating at low speed, the rotorposition is determined by injecting or superimposing a square wave ontoa driving voltage of the motor and measuring reflected current. When themotor is operating at high speed, conventional systems and methods maybe used to determine the position of the rotor. The systems and methodsfor determining the position of a stationary rotor will be describedfollowed by descriptions of systems and methods for determining theposition of a slow moving rotor.

A cross-sectional view of an embodiment of a permanent magnet motor 100is shown in FIG. 1. The motor 100 has a fixed stator 102 and a rotatablerotor 104 that rotates relative to the stator 102. A permanent magnet ora plurality of permanent magnets are fixed to the rotor 104. In FIG. 1,the permanent magnet is noted by its poles of north and south. Thestator 102 has a plurality of teeth 108 that extend to locationsproximate the rotor 104. The teeth 108 are wound by coils 110 thatcreate magnetic fields in the teeth 108 when current passes through thecoils 110. The rotor 104 rotates as the magnetic field in the stator 102is changed so as to attract or repel the magnets in the rotor 104.Therefore, by controlling the current input to the motor 100, which isinput to the stator 102, the speed and torque of the motor 100 iscontrolled.

The maximum torque of the motor 100 is generated when the position ofthe input current waveform is perpendicular to the position of the fluxwaveform in the rotor 104. For permanent magnet motors, such as themotor 100, the flux position is equal to the rotor position. As aresult, the maximum torque is achieved in the motor 100 if theinstantaneous position of the rotor 104 is known so that the inputcurrent can be positioned accordingly. By using the devices and methodsdisclosed herein, the position of the rotor 104 is quickly determined,which enables a motor controller to maximize the torque output of themotor 100.

An embodiment of a sensorless drive system 200 for salient motors orpermanent magnet (PM) motors that overcomes the above-described problemsis shown in FIG. 2. There are several types of motors that can bereferred as salient motors, such as surface mount PM motors withsaturation-induced saliencies or teeth on their rotors, and interior PMmotors with magnets buried in their rotors. The system 200 drives themotor 100 using a power source 204 that is coupled to an input 206 ofthe motor 100. In some embodiments, the power source 204 is a voltagesource. A square wave generator 210 generates a square wave voltageV_(INJ) that is added to the input 206 by way of an adder 212. A currentanalyzer 214 analyzes the current reflected from the motor 100. Thereflection is a result of the square wave voltage V_(INJ) being injectedinto the coils 110, FIG. 1, which are primarily inductive. In someembodiments, the second order harmonics of the square wave voltageV_(INJ) generated by the square wave generator 210 are reflected fromthe motor 100 and are analyzed by the current analyzer 214. A positionobserver 216 determines the position of the rotor 104 based on theanalysis of the reflected current. In some embodiments, the positionobserver 216 also determines the velocity of the rotor 104, FIG. 1,relative to the stator 102.

The description commences with determining the position of the rotor 104when it is stationary. The rotor 104 will be measured to be at an anglerelative to the stator 102, however, the polarity of the motor 100 orrotor 104 must also be known. Additional reference is made to FIG. 3,which shows the motor 100 of FIG. 1 with the rotor 104 in the oppositedirection, which is referred to as having the opposite polarity. Morespecifically, the rotor north/south pole direction of FIG. 1 is oppositethat of FIG. 3. The angle of the rotor 104 relative to the stator 102 inboth configurations of the motor 100 will be calculated as the same. Themethods described herein determine the polarity of the motor 100 inaddition to the angle of the rotor 104 relative to the stator 102.

In order to determine magnet polarity in the motor 100, the square wavevoltage V_(INJ) is injected in the d-axis, which is also referred to asthe direct axis. The motor 100 has two axes, the d-axis and the q-axis.Current commands are generated for each axis to operate the motor 100.The d-axis is used to control the magnetizing flux of the motor 100 andthe q-axis is used to control the torque of the motor 100.

The injected square wave voltage V_(INJ) either augments or detracts theflux in the motor 100, which increases or decreases the reflected wavefrom the motor 100 that is caused by the inductance of the coils 110.Accordingly, the reflected wave that results from the injected squarewave voltage V_(INJ) contains the magnetic polarity information. Byanalyzing the reflected alternating waveform over a time average, thepolarity is determined, which is indicative of the position of the rotor104. The magnetic polarity is identified, as described in greater detailbelow, based on the flux saturation reflected current resulting from thesquare wave voltage injection V_(INJ). By using a time average method,the initial position estimation of the rotor 104 is insensitive to thecurrent measurement offset and signal-to-noise ratio. In someembodiments, low square wave injection voltage magnitude is used, whichresults in reduced injection induced losses. In some embodiments, themethods described herein can accurately estimate the initial position ofthe motor 100 with a 1.088 (L_(q)/L_(d)) saliency ratio by utilizing 26%DC bus voltage for injection. The saliency ratio is defined as theinductance in the q-axis divided by the inductance in the d-axis. It isthis difference in inductance that is used to determine the polarity.

In the embodiments of the controller 200 described herein, the powersource 204 uses pulse width modulation (PWM) to drive the motor 100.FIG. 4 shows an embodiment of an injected square-wave voltage V_(INJ)with respect to a PWM pattern. The PWM operates or switches at a firstfrequency, such as 10-kHz, which is shown by the arrows in FIG. 4. Theinjected square wave voltage V_(INJ) is at a second frequency, which istypically lower than the PWM switching frequency. In the embodiment ofFIG. 4, the second frequency is half of PWM first frequency, so thefrequency of the injected voltage V_(INJ) is 5-kHz in the exampleprovided above. FIG. 4 also shows the injection reflected currentI_(INJ) in the d-axis that results from the injected voltage V_(INJ).Because the input to the motor 100 is inductive, the injected currentI_(INJ) is the integral of the injected voltage V_(INJ).

In order to determine the position of the rotor 104, the injectedvoltage V_(INJ) is injected in the direction of an estimated d-axis.Depending on the position of the rotor 104, the injected voltage V_(INJ)will either augment or detract the magnetic flux λ of the motor 100 asdescribed in greater detail below. As described above, FIGS. 1 and 3 areschematic cross sectional embodiments of the motor 100 in twoconfigurations. In the configuration of the motor 100 of FIG. 1, therotor 104 is oriented with the south pole to the left and in FIG. 3, thesouth pole is oriented to the right.

The polarity is identified based on the different saturation conditionsbetween the north and south poles of the rotor 104 relative to thestator 102. FIG. 1 illustrates the magnetic flux property when theinjected voltage V_(INJ) is injected in the direction of the north pole.As shown in FIG. 1, the magnetic flux k_(m) resulting from the injectedvoltage V_(INJ) augments the magnetic flux of the motor λ_(PM). Theaugmented magnetic flux λ (λ_(PM)+λ_(INJ)) drives the coils 110 on thestator teeth 108 further into saturation, which lowers the inductance inthe motor 100. By contrast in FIG. 3, the injected voltage V_(INJ) isinjected in the direction of the south pole, which detracts or subtractsfrom the magnetic flux of the motor λ_(PM). The result is an overallmagnetic flux λ of λ_(PM)-λ_(INJ). The decrease in the overall magneticflux λ leads the stator teeth 108 out of saturation, which increases theinductance of the motor 100.

As shown by the graphs in FIG. 4, when the square wave injected voltageV_(INJ) is injected into the motor 100, a nearly triangular currentI_(LINEAR) results because the impedance of the motor 100 is dominant.The current I_(LINEAR) of FIG. 4 does not account for the increased ordecreased inductance caused by the injected flux λ_(INJ). FIG. 5 showsthree graphs of the current associated with the motor 100 when theinjected voltage V_(INJ) is injected in the direction of the north poleand augments the magnetic flux λ as shown in FIG. 1. Graph A of FIG. 5shows the ideal injected current I_(LINEAR) that would occur without themagnetic flux λ affecting the inductance of the motor 100. Graph Billustrates an example of the saturation current I_(D) _(—) _(SAT) thatoccurs due to the saturation of the stator 102. Graph C shows theinjected current I_(INJ) when the injected voltage V_(INJ) is injectedin the direction of the north pole. As shown in graph C, the injectedcurrent I_(INJ) has a slightly positive offset during the positiveportion of its period. The positive offset is caused by the saturationof the stator 102, which causes the absolute value of the maximum peakinjection current of I_(INJ) to be slightly greater than that of minimumpeak injection current I_(INJ). In the example of graph C, the injectioncurrent I_(INJ) has a maximum value of I_(MAX) and a minimum value ofI_(MIN). The average of I_(MAX) and I_(MIN) is positive indicating thatthe injected current I_(INJ) is flowing from south to north, whichindicates that the polarity of the rotor 104 is in the position shown inFIG. 1.

The opposite occurs when the injected current I_(INJ) is injected in thedirection of the south pole as shown by the motor configuration of FIG.3. The graphs of FIG. 6 show the currents resulting from the injectedvoltage V_(INJ). Graph A shows the linear current I_(LINEAR), which isthe same as the linear current of FIG. 5. As shown in graph B, thecurrent I_(D) _(—) _(SAT) induced by the injected voltage V_(INJ) isslightly negative. The negative current I_(D) _(—) _(SAT) causes thenegative peaks of the injected current I_(INJ) to have negative offsetsas shown in graph C. Therefore, the average of the values of I_(MAX) andI_(MIN) will be negative indicating that the injected current I_(INJ) isflowing from north to south, which indicates the polarity of the rotor104 is as shown in FIG. 3.

At this point, the polarity of the rotor 104 relative to the stator 102is known. The following description focuses on the rotational positionof the rotor 104 relative to the stator 102. Additional reference ismade to FIG. 7, which is a block diagram of a motor controller 700. Themotor controller 700 of FIG. 7 is a more enhanced version of the motorcontroller 200 of FIG. 2. The controller 700 supports the use offield-oriented control (FOC), which generally includes controlling thevoltages provided to the motor 100 while representing those voltageswith a vector. The motor 100, as a three-phase, time-dependent andspeed-dependent system, can be transformed via projection into atwo-coordinate time-invariant synchronous system. As described above,the two coordinate axes are referred to as the d and q axes. The motor100 is controlled by generating i_(d) ^(e*) and i_(q) ^(e*) currentcommands (sometimes referred to as “currents”) for the d and q axes,respectively. The i_(d) ^(e*) current command is used to control themagnetizing flux of the motor, and the i_(q) ^(e*) current command isused to control the torque of the motor 100. These current commands arethen converted to v^(d) ^(e*) and v_(q) ^(e*) voltage commands(sometimes referred to as “voltages”) for the d and q axes,respectively. The v_(d) ^(e*) and v_(q) ^(e*) voltage commands define avoltage vector that is used to generate a three-phase voltage for themotor 100 as described in greater detail below.

The controller 700 receives a command speed signal ω_(e) ^(*) that isinput to an adder 704. The adder 704 also receives an estimated speedsignal {circumflex over (ω)}_(e) that represents feedback identifying anestimate of the actual speed of the rotor 104 relative to the stator102, which is referred to as the speed of the motor 100. The adder 704outputs a difference between these signals, which identifies the errorbetween the commanded speed signal ω_(e) ^(*) and the estimated speedsignal {circumflex over (ω)}_(e). The adder 704 includes any suitablecircuit for combining signals.

A speed controller 706 receives the output of the adder 704 and uses theerror identified by the adder 704 to generate the current command i_(q)^(e*) to control the torque of motor 100. The current command isproportional to the output of the adder 704 and a speed setting set bythe speed controller 706. The speed controller 706 includes any suitablecircuit or device for converting a speed error into a current command.Another adder 708 combines the current command i_(q) ^(e*) with afeedback signal i_(q) _(—) _(f) ^(e), which represents a measurement ofthe actual current in the q axis. The adder 708 generates an outputidentifying the difference or error between the feedback signal i^(q)_(—) _(f) ^(e) and the current command i_(q) ^(e*). The adder 708includes any suitable circuit for combining signals.

A current regulator 710 receives the output of the adder 708 and usesthe output of the adder 708 to generate the voltage command v_(q) ^(e*)for the motor 100. The current regulator 710 includes any suitablecircuit for converting a current into a voltage command. An adder 712combines a current command i_(d) ^(e*) with a feedback signal i_(d) _(—)_(f) ^(e*), which represents a filtered measurement of the actualcurrent in the d axis. The adder 712 generates an output identifying thedifference or error between the feedback signal i_(d) _(f—) _(f) ^(e*)and the command current i_(d) ^(e*). The adder 712 includes any suitablecircuit for combining signals. A current regulator 716 receives theoutput of the adder 712 and uses the error identified by the adder 712to generate a voltage command v_(d) ^(e*) for the motor 100. The currentregulator 716 includes any suitable circuit for converting a currenterror into a voltage command and a current.

As shown in FIG. 7, the current regulator 716 generates a voltagecommand V_(d) ^(e*) that is used to power the d-axis of the motor 100.An adder 718 receives the voltage command V_(d) ^(e*) and the squarewave voltage V_(INJ) generated by the square wave generator 210. Theadder 718 mixes the voltage command V_(d) ^(e*) with the square wavevoltage V_(INJ). The current ripples resulting from the square wavevoltage V_(INJ) are used to determine the position of the rotor 104,FIG. 2, in the motor 100 as described further below. The adder 718includes any suitable circuit for combining or mixing signals.

A dq/abc device 720 receives the mixed voltage command v and the voltagecommand v_(q) ^(e*) that collectively define the voltage vector for themotor 100. The dq/abc device 720 converts the voltage vector intothree-phase voltage signals Va, Vb, and Vc for field oriented control ofthe motor 100. In some embodiments, the dq/abc device 720 usesdirect-quadrature transformations to generate the three-phase voltagesignals. In field oriented control, the dq/abc device 720 holds thecurrent vector perpendicular to the rotor flux vector in order tomaximize torque. In order to achieve the field oriented control, therotor position must be known to control the direction of the currentvector. The three-phase voltage signals define the voltages to beapplied to the coils 110 of the stator 102 in the motor 100. Althoughnot shown, the three-phase voltage signals Va, Vb, and Vc can beconverted into PWM signals for driving the motor 100. The dq/abc device720 includes any suitable circuit or device, including a microprocessoror microprocessor-controlled device, for converting a voltage vectorinto three-phase voltage signals.

Two current sensors 724 and 726 measure the currents in two of thethree-phase current signals. In the embodiment of FIG. 7, the sensors724 and 726 measure the current in the Va and Vb phases. The sensors 724and 726 measure the current ripple resulting from the injected squarewave voltage V_(INJ) produced by the square wave generator 210. Thecurrent ripples are used to estimate the position and speed of the rotor104. Each of the current sensor 724 and 726 includes any suitablestructure or circuit for measuring current.

An abc/dq device 728 receives the current measurements from the sensors724 and 726 and converts the measurements into the dq domain. In someembodiments, the abc/dq device 728 performs direct-quadraturetransforms. In doing the transforms, the abc/dq device 728 generatessignals i_(q) ^(e)and i_(d) ^(e), which represent the measurements ofthe actual currents in the d and q axes. The abc/dq device 728 includesany suitable circuit or device, including a microprocessor ormicroprocessor-controlled device, for converting current measurementsassociated with three-phase voltage signals into currents associatedwith the dq axes.

The signals i_(q) ^(e) and i_(d) ^(e) are input to a band-pass filter730. The band-pass filter 730 outputs the low-pass filtered currentsignals i_(d) _(—) _(f) ^(e) and i_(q) _(—) _(f) ^(e) to the adder 712and to the adder 708.

The band-pass filter 730 also outputs high-pass filtered current signalsi_(q) _(—) _(hf) ^(e) _(hf) and i_(q) _(—) _(hf) ^(e) to an extractioncircuit 734. The signals i_(q) _(—) _(f) ^(e) and i_(d) _(—h) _(hf) ^(e)are the high frequency components of the current signals i_(q) ^(e) andi_(d) ^(e) and have ripples due to the injected square wave voltageV_(INJ) generated by the square wave generator 210. The band-pass filter730 filters out other signals and components so that the ripple currentscan be analyzed as described below. The band-pass filter 730 includesany suitable circuit for filtering signals.

The i_(q) _(—) _(hf) ^(e) and i_(d) _(—) _(hf) ^(e) signals are input tothe extraction circuit 734 as described above. The extraction circuit734 performs functions on the signals as described below to yield asignal I_(ΔL)2θ_(ERR) that contains the position error of the rotor 104.The signal 2I_(ΔL)θ_(ERR) is output to the position observer 216 whichdetermines the velocity {circumflex over (ω)}_(e) and position{circumflex over (θ)}_(e) of the rotor 104. The position {circumflexover (θ)}_(e) is transmitted to both the dq/abc device 720 and theabc/dq device 728 because position information is required in order tofix the current vector perpendicular to the rotor magnet flux vector toyield the maximum torque. The rotor speed {circumflex over (ω)}_(e) isinput to the adder 704 as described above. Both the extraction circuit734 and position observer 216 include circuits or devices for performingthe functions described herein to yield their respective outputs. Insome embodiments, the extraction circuit 734 and/or the positionobserver 216 are microprocessors or include microprocessors to performthe mathematical functions described below.

The operation of the controller 700 with respect to determining theposition and speed of the rotor 104 at low speed operation will now bedescribed. An embodiment of the injected voltage V_(INJ) as shown inFIG. 4 is superimposed onto the voltage V_(d) ^(e*) to create saliencyreflected current ripples I_(RIPPLE.) Due to the properties of a squarewaveform, the frequency of the injected voltage V_(INJ) can increase upto half of the PWM switching frequency. If the PWM switching frequencyis 10 KHz, the frequency of the injected voltage V_(INJ) may be as highas 5 KHz. High frequency injection has the advantage of reducingacoustic noises. In this embodiment, the injected voltage V_(INJ) has anamplitude of +−V_(SQ). The voltage V_(INJ) is defined by equation (1) asfollows:

$\begin{matrix}{V_{INJ} = {{\pm V_{SQ}} = {{L_{s} \times \frac{I_{RIPPLE}}{T}} = {{L_{S}(\theta)} \times \frac{\Delta \; I_{RIPPLE}}{\Delta \; T}}}}} & {{Equation}\mspace{14mu} (1)}\end{matrix}$

where L_(S) is the saliency-reflected inductance that contains theposition information, I_(RIPPLE) is the resulting current ripple, and Tis the sampling period of a microprocessor as shown by the arrows inFIG. 4 that performs the analysis of equation (1). The currentI_(RIPPLE) contains the position information due to the inductancevariation caused by the position of the rotor 104 relative to the stator102. Based on equation (1), the incremental current ripple ΔI_(RIPPLE)is determined by equation (2) as follows:

ΔI _(RIPPLE) =±ΔTL _(S) ⁻¹(θ)V _(SQ)   Equation (2)

The following algorithms describe the extraction of position and speedfrom the voltage induced current ripple I_(RIPPLE). As shown in FIG. 7,the square wave voltage is superimposed on the rotor-referred d-axis byway of the voltage V_(d) ^(e*). The superimposed voltage is given byequation (3) as follows:

$\begin{matrix}{\begin{bmatrix}V_{q}^{e^{*}} \\V_{d}^{e^{*}}\end{bmatrix} = \begin{bmatrix}{\pm V_{INJ}} \\0\end{bmatrix}} & {{Equation}\mspace{14mu} (3)}\end{matrix}$

where e* is the estimated dq frame, e is the real dq frame, and θ_(ERR)is the corresponding position error of the rotor 104. FIG. 8 shows agraph of the relationship between the estimated and real dq planes andthe reference to the error O_(ERR). As described above, the inductancesin the coils 110 of the teeth 108 on the stator 102 are dependent on thelocation of the rotor 104. The inductance matrices are depicted by theterms L_(dq) ^(e*) and L_(dq) ^(e) and are shown by the equations (4)and (5) below, which are also referred to as reference frames:

$\begin{matrix}{L_{dq}^{e^{*}} = \begin{bmatrix}{{\sum L} - {\Delta \; L\; {\cos \left( {2\; \theta_{ERR}} \right)}}} & {{- \Delta}\; {\sin \left( {2\; \theta_{ERR}} \right)}} \\{{- \Delta}\; {\sin \left( {2\; \theta_{ERR}} \right)}} & {{\sum L} + {\cos \left( {2\; \theta_{ERR}} \right)}}\end{bmatrix}} & {{Equation}\mspace{14mu} (4)} \\{L_{dq}^{e} = \begin{bmatrix}{{\sum L} - {\Delta \; L}} & 0 \\0 & {{\sum L} + {\Delta \; L}}\end{bmatrix}} & {{Equation}\mspace{14mu} (5)}\end{matrix}$

where ΣL and ΔL are the average inductance and differential inductanceof the rotor 104. An embodiment of ΣL and ΔL in L_(d) ^(e*) is shown bythe graph of FIG. 9. The average inductance ΣL is shown by the dashedline. The differential inductance ΔL is the difference from the averageinductance ΣL to a peak and a trough. The average inductance ΣL is muchgreater than the differential inductance ΔL. When θ_(ERR) is equal tozero, the estimated inductance L_(dq) ^(e*) is equal to the actual orreal inductance L_(dq) ^(e). With additional reference to FIG. 7, theripple current I_(RIPPLE) is related to the estimated d and q currentsI_(d) ^(e*) and I_(q) ^(e*) and the estimated voltages V_(d) ^(e*) andV_(q) ^(e*) by equation (6) as follows:

$\begin{matrix}{I_{RIPPLE} = {\begin{bmatrix}{\Delta \; I_{d}^{e^{*}}} \\{\Delta \; I_{q}^{e^{*}}}\end{bmatrix} = {\Delta \; {{TL}_{dq}^{e^{*} - 1}\begin{bmatrix}V_{d}^{e^{*}} \\V_{q}^{e^{*}}\end{bmatrix}}}}} & {{Equation}\mspace{14mu} (6)}\end{matrix}$

By further substitution, I_(RIPPLE) is related to the error θ_(ERR) asshown by equation (7) as follows:

$\begin{matrix}{{I_{RIPPLE} = {\Delta \; {{T\begin{bmatrix}{{\sum L} - {\Delta \; {\cos \left( {2\; \theta_{ERR}} \right)}}} & {{- \Delta}\; L\; {\sin \left( {2\; \theta_{ERR}} \right)}} \\{{- \Delta}\; L\; {\sin \left( {2\; \theta_{ERR}} \right)}} & {{\sum L} + {\Delta \; L\; {\cos \left( {2\; \theta_{ERR}} \right)}}}\end{bmatrix}}^{- 1}\left\lbrack \begin{matrix}{\pm V_{INJ}} \\0\end{matrix} \right\rbrack}}}{I_{RIPPLE} = {{{\pm \Delta}\; {{TV}_{INJ}\begin{bmatrix}\frac{{\sum L} + {\Delta \; L\; {\cos \left( {2\; \theta_{ERR}} \right)}}}{{\sum L^{2}} - {\Delta \; L^{2}}} \\{\frac{\Delta \; L}{{\sum L^{2}} - {\Delta \; L^{2}}}{\sin \left( {2\; \theta_{ERR}} \right)}}\end{bmatrix}}} \approx {\pm \begin{bmatrix}I_{\sum L} \\{I_{\Delta \; L}\left( {2\; \theta_{ERR}} \right)}\end{bmatrix}}}}} & {{Equation}\mspace{14mu} (7)}\end{matrix}$

when θ_(ERR≈)0, sin(2 θ_(ERR)) and where

${I_{\sum L} = {{{\pm \Delta}\; {TV}_{INJ}\frac{{\sum L} + {\Delta \; L}}{{\sum L^{2}} - {\Delta \; L^{2}}}\mspace{14mu} {and}\mspace{14mu} I_{\Delta \; L}} = {{\pm \Delta}\; {TV}_{INJ}\frac{\Delta \; L}{{\sum L^{2}} - {\Delta \; L^{2}}}}}}\mspace{14mu}$

By superimposing the square wave voltage V_(INJ) on the estimated d-axisvoltage V_(d) ^(e*) as shown in FIG. 7, saliency-reflected current withthe position dependent signal appears in the estimated q-axis,2I_(ΔL)θ_(err), as shown in equation (7) under the assumption θ_(err)≈0.As a result, the error θ_(err) is manipulated to zero to find theposition of the rotor 104, which is the real dq axis in FIG. 8.

The position observer 216 of FIGS. 2 and 7 receives the signal2I_(ΔL)θ_(err) and performs the functions above to determine positionand velocity of the rotor 104. A block diagram of an embodiment of theposition observer 216 is shown in FIG. 10. The position observer 216 hasan input 1002 that receives the signal 2I_(ΔL)θ_(err), which is thereflected current ripples or is proportional to the reflected currentripples generated in response to the injected square wave voltageV_(INJ). The signal 2I_(ΔL)θ_(err) is split and multiplied by Ki and Kpconstants in blocks 1004 and 1006. Ki is the integral gain of the motor100 and Kp is the proportional gain of the motor 100. The signalresulting from the integral gain 1004 is integrated over time by anintegrator 1006. The integrated signal resulting from the integrator1006 and the signal resulting from multiplication by the proportionalgain Kp are added by an adder 1008 wherein the result is the estimatedvelocity of the rotor 104. The measured velocity is determined bymultiplying the estimated velocity output by the adder 1008 by thenumber of pole pairs in the motor 100 using the multiplier 1010. Thenumber of pole pairs refers to the number of pole pairs or pairs ofteeth 108 in the stator 102 of the motor 100. The position of the rotor104 is determined by integrating the estimated velocity over time usingthe integrator 1012.

The position information is input to the dq/abc device 720, FIG. 7,where it is used to generate the Va, Vb, and Vc signals. By knowing theposition of the rotor 104, the Va, Vb, and Vc signals are generated tomaximize the torque generated by the motor 100. The velocity informationis fed back to the adder 704, FIG. 7.

The controller 700 of FIG. 7 uses two current sensors 724 and 726 tomeasure the current ripple of the motor 100. An embodiment of a portionof the dq/abc device 720 that uses two current sensors 724 and 726 inthe controller 700 is shown in FIG. 11. The dq/abc device 720 controls aplurality of switches or transistors to generate the voltages Va, Vb,and Vc. The respective currents or proportional currents are shown asIa, Ib, and Ic. The current sensors 724 and 726 of FIG. 7 are shuntresistors wherein the voltages across the resistors are measured todetermine the currents Ib and Ic. Using Kirchoff s Law, the sum of thecurrents is equal to zero for the dq/abc device 720. Therefore, thecurrent Ia is equal to −Ib-Ic.

In some embodiments, a single current sensor is used to determine thecurrent. Reference is made to FIG. 12, which is an embodiment of thedq/abc device 720 that uses a single shunt resistor 1202 to measure thecurrent Isum, which is equal to the sum of Ia, Ib, and Ic. In thisembodiment, the abc/dq device 728 may use different algorithms todetermine the currents Ia, Ib, and Ic. In some embodiments, the abc/dqdevice 728 makes the average of the currents Ia, Ib, and Ic equal to thesum Isum.

The methods described above can be summarized by the flow chart 300 ofFIG. 13. In block 1302, the process commences with injecting a squarewave voltage V_(INJ) into the motor 100. In block 1304, the rotorposition is determined by monitoring the input current in response tothe injected square wave when the rotor is not moving. When the averagecurrent is greater than the differential current, the rotor 104 has afirst orientation and when the average current is less than thedifferential current the rotor 104 has a second orientation.

As described above, a square wave is injected into the motor 100,FIG. 1. In some embodiments, the square wave is a high frequency wavethat is in the human audible range of about 12 kHz to about 20 kHz. As aresult, audible noise may be generated. The injection induced noise canbe minimized by properly selecting the square-wave frequency underdifferent motor operations. When the motor 100 is initially power up atzero speed, the high frequency square-wave voltage is injected to findthe motor polarity as well as the rotor position. The motor polarity isidentified based on the injection reflected saturation in the motormagnetic material. In order to achieve a measurable saturation effect onthe current ripples, the injection frequency may be inverter PWMfrequency over 4 or 8 to increase the current ripples for the motorpolarity detection. Once the polarity is identified, the injectionfrequency can be increased and the motor 100 is ready to control. Insome embodiments, the minimum injection duration for the motor polaritydetection is 200 ms. In some embodiments, the acoustic noise cannot beavoided during the stage of zero speed operation. However, once themotor polarity is identified, the injection frequency can be increasedbeyond the audible range.

While illustrative and presently preferred embodiments of integratedcircuits have been described in detail herein, it is to be understoodthat the inventive concepts may be otherwise variously embodied andemployed and that the appended claims are intended to be construed toinclude such variations except insofar as limited by the prior art.

What is claimed is:
 1. A position sensorless drive system for apermanent magnet motor, the motor comprising a rotor and a stator, thedrive system comprising: a square wave voltage source connectable to aninput of a permanent magnet motor; at least one current sensorconnectable to the motor, wherein the current sensor is configured tosense the current in at least one power line to the motor in response tothe square wave input to the motor; wherein the position of the rotorrelative to the stator may be determined based on the current resultingfrom the square wave voltage.
 2. The drive system of claim 1, whereinthe system is adapted to determine the position of the rotor when therotor is stationary relative to the stator, and further comprising aposition observer, wherein the position observer is adapted to determinethe position of the rotor relative to the stator based on the currentinput resulting from the injected square wave.
 3. The drive system ofclaim 1, wherein the position observer is adapted to determine that therotor is in a first orientation when the current input resulting fromthe square wave voltage is greater than an average current, and whereinthe position observer is adapted to determine that the rotor is in asecond orientation when the current input resulting from the square wavevoltage is less than the average current.
 4. The drive system of claim1, wherein the position of the rotor relative to the stator may bedetermined when the rotor is moving relative to the stator by analyzingreflected current ripples resulting from the square wave voltage.
 5. Thedrive system of claim 4, wherein the square wave voltage is adapted tobe injected into the d-axis of the motor.
 6. The drive system of claim4, wherein the position of the rotor relative to the stator may bedetermined by analyzing the current ripples in the q-axis of the motor.7. A position sensorless drive system for a permanent magnet motor, themotor comprising a rotor and a stator, the drive system comprising: avoltage input for the q-axis of the motor; a voltage input for thed-axis of the motor; a square wave voltage source adapted to generate aninjected voltage, to be added to the voltage input for the d-axis of themotor; at least one current sensor adapted to measure the current in atleast one power line to the motor, the current being generated inresponse to the injected voltage; an extraction device coupled to the atleast one current sensor that is adapted to generate an error signalbased on current in the d-axis and current in the q-axis; and a positionobserver coupled to the extraction device, wherein the position observeris adapted to determine the position of the rotor based on the errorsignal.
 8. The drive system of claim 7 further comprising a dq/abcdevice coupled between the first and second inputs and the motor,wherein the dq/abc device is adapted to transform the voltage inputs forthe q-axis and the d-axis into a three phase input signal to drive themotor.
 9. The drive system of claim 8, wherein the at least one currentsensor is adapted to measure the current on at least one of the threephases of the three phase input signal.
 10. The drive system of claim 8,wherein the position of the rotor as determined by the position sensoris adapted to be input to the dq/abc device.
 11. The drive system ofclaim 7 further comprising an abc/dq device coupled between the motorand the extraction device, wherein the abc/dq device monitors thecurrent measured by the at least one current sensor and generatescurrents representative of the current in the d-axis and current in theq-axis.
 12. The drive system of claim 11 further comprising a filtercoupled between the abc/dq device and the extraction device, wherein thefilter is adapted to pass high frequency components of the currentsrepresentative of the current in the d-axis and the current in theq-axis to the extraction device.
 13. The drive system of claim 13wherein the filter is adapted to pass low frequency representations ofthe current in the d-axis and the current in the q-axis, wherein therepresentation of the current in the d-axis is at least partiallyadapted to generate the voltage input for the d-axis and wherein therepresentation of the current in the q-axis is at least partiallyadapted to generate the voltage input for the q-axis.
 14. The drivesystem of claim 11 wherein the position of the rotor as determined bythe position observer is adapted to be input to the abc/dq device. 15.The drive system of claim 7, wherein the currents representative of thecurrent in the d-axis and the current in the q-axis are reflected ripplecurrents generated in response to the injected voltage.
 16. The drivesystem of claim 15, wherein the currents representative of the currentin the d-axis and the current in the q-axis are second harmonics ofreflected ripple currents generated in response to the injected voltage.17. The drive system of claim 7, wherein the error signal isproportional to the amplitude of the injected voltage multiplied by theratio of the difference in inductance in the q-axis and the d-axis overthe difference between the average inductance squared and the differencein inductance in the q-axis and the d-axis squared.
 18. The drive systemof claim 7, wherein the position observer is adapted to generate a firstsignal of the error signal multiplied by the proportional constant ofthe motor and second signal of the error signal multiplied by theintegral constant of the motor and integrated, and wherein the firstsignal and the second signal are added together.
 19. A method ofdetermining the position of a rotor in a permanent magnet motor, themethod comprising: injecting a square wave voltage into the motor;monitoring the input current in response to the injected square wavewhen the rotor is not moving, wherein the average current is greaterthan the differential current when the rotor has a first orientation andwherein the average current is less than the differential current whenthe rotor has a second orientation.
 20. The method of claim 19 furthercomprising: measuring current reflected from the motor in response tothe square wave when the rotor is rotating at a low speed; anddetermining the position of a rotor based on the reflected current.